In current third generation wireless networks, the wireless links have very large and variable Round-Trip Times (RTTs). This is due to the need for buffering and retransmissions from the base station to the mobile node (MN) at the link-layer to compensate for packet losses. Experiments conducted on deployed systems show that the RTTs experienced across the wireless link vary from approximately 300 msec up to 1 sec. Accordingly, user experienced throughput for specific applications is much lower than the maximum possible physical layer data rate.
For example, with CDMA2000-1xRTT (Radio Transmission Technology) physical layer, the maximum physical layer data rate is 153.6 Kbps. Here the maximum transmission control protocol (TCP) throughput (with protocol overhead) is approximately 128 Kbps. However, measurements have shown that when using file transport protocol (FTP) connectivity, the throughput achieved in an unloaded CDMA2000-1xRTT cell is in the range of 100 to 120 Kbps. Alternatively, when using hypertext transfer protocol (HTTP) connectivity, the throughput is much lower in a range of 50 to 70 Kbps. As such, when utilizing FTP connections, the throughput approaches that of raw TCP, since the connections are usually long-lived.
HTTP throughput is degraded mainly due to the following two reasons. First, popular web pages usually contain several embedded objects hosted under different domain names. For example, sites such as www.weather.com, finance.cnn.com, etc. have embedded objects that point to many distinct domains. This behavior is seen even with uniform resource locator (URL) rewritten pages, where the embedded objects are rewritten to point to the Content Delivery Network's (CDN) server. For example, the embedded URLs in the top level pages for Shari's Berries (www.berries.com) and Britannica (www.britannica.com), both of which are URL-rewritten, illustratively point to sixteen different domain names associated with Akamai Technologies, Inc. of Cambridge, Mass. The web browser performs DNS queries for these domain names, each of which incurs one to three seconds delay.
Second, and on top of this, the time-to-live (TTL) parameter for DNS responses to the popular web sites is kept small so that DNS based load-balancing to one of multiple servers is possible. With web sites that are served through CDNs, this is certainly a requirement so that the CDN service provider can redirect requests to an “optimal” server in their network. A smaller TTL suppresses the advantages of DNS caching and leads to the browser making very frequent queries to the DNS server to resolve domain names.
The web browser at the MN opens at least one (possibly more) TCP connection to each domain name referred to by the embedded objects in a top level web page. Thus, even if the browser and the server support persistent connections (HTTP/1.0 keep-alive or HTTP/1.1), given that at least one persistent HTTP connection has to be opened to each distinct domain, and if the number of distinct domain names that host the embedded objects is large, then the number of TCP connections opened is also substantial.
The above behavior affects web browsing performance in wireline networks as well, however in wireless networks the effect is amplified across the wireless link, due to the large and varying RTT. Specifically, a large RTT increases the delay incurred by DNS lookups. Further, where there are numerous DNS lookups per web page, the delay increases substantially, thereby affecting the user perceived performance. A large RTT also leads to an increase in TCP connection establishment and the ramp up delay. Again, with the need to establish many TCP connections per web page, this affects user perceived performance. Thus, TCP setup delays of a large number of TCP connections, as well as delays due to DNS queries can account for a significant overhead, thereby leading to decreased HTTP throughput and degraded user perceived performance.
By contrast, it is noted that the FTP application, whose throughput is close to the theoretical maximum, performs only one DNS lookup for the server name and uses only one long-lived TCP connection to transfer the data. Therefore, there is a need in the art for optimization techniques to enhancing hypertext transfer protocol (HTTP) downloads by a browser from a content server. That is, there is a need to decrease the latency of user access to the objects by reducing the time to retrieve content between the user's browser and content servers that is caused by the multiple TCP connections and DNS lookups before the HTTP page can be displayed.